package com.hf.eagle.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import org.apache.commons.lang.StringUtils;

import com.hf.eagle.domain.SysModule;

public class StringHelper {

	/**
	 * @param list list of object SysModule
	 * @return String
	 */
	public static String getTreeNodesFromSysModuleList(Set<SysModule> sysModuleList) {

		StringBuffer sb = new StringBuffer();

		for (SysModule sysModule : sysModuleList) {
			String _mod_id = String.valueOf(sysModule.getMod_id());
			String _par_id = String.valueOf(sysModule.getPar_id());
			if ("0".equals(_par_id)) {
				_par_id = "-1";
			}
			String _text = StringUtils.replace(sysModule.getMod_name(), ":", "&#58;");
			if (StringUtils.isEmpty(_text)) {
				continue;
			}
			String _hint = _text;
			String _url = StringUtils.replace(sysModule.getMod_url(), ":", "&#58;");

			sb.append("\ntree.nodes[\"").append(_par_id).append("_").append(_mod_id).append("\"]=\"");
			sb.append("text:").append(_text).append(";");
			if (_hint.length() > 0) {
				sb.append("hint:").append(_hint).append(";");
			}
			if ((_url != null) && (_url.length() > 0)) {
				sb.append("url:").append(_url).append(";");
			} else {
				sb.append("url:").append("mainFrame.do").append(";");
			}

			sb.append("data:").append("mod_id=").append(_mod_id).append(";");

			sb.append("\";");
		}
		return sb.toString();
	}

	public static String getNaviStringFromSysModuleList(List<SysModule> sysModuleList) {
		return getNaviStringFromSysModuleList(sysModuleList, " -&gt; ");
	}

	public static String getNaviStringFromSysModuleList(List<SysModule> sysModuleList, String separator) {
		ArrayList<String> arrayList = new ArrayList<String>();
		if (null != sysModuleList && sysModuleList.size() > 0) {
			for (int i = sysModuleList.size() - 1; i >= 0; i--) {
				String link = "";
				if (StringUtils.isNotBlank(sysModuleList.get(i).getMod_url())) {
					link = "<a href='../" + sysModuleList.get(i).getMod_url() + "' target='mainFrame' style='text-decoration:underline;'>"
							+ sysModuleList.get(i).getMod_name() + "</a>";
				} else {
					link = sysModuleList.get(i).getMod_name();
				}

				arrayList.add(link);
			}
		}

		return (StringUtils.join(arrayList, separator));
	}

}
